﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Entidades
{
   public class InformePlanificacionComentariosDias
    {

        string dia1 { get; set; }
        string dia2 { get; set; }
        string dia3 { get; set; }
        string dia4 { get; set; }
        string dia5 { get; set; }
        string dia6 { get; set; }
        string dia7 { get; set; }
        string dia8 { get; set; }
        string dia9 { get; set; }
        string dia10 { get; set; }
        string dia11 { get; set; }
        string dia12 { get; set; }
        string dia13 { get; set; }
        string dia14 { get; set; }
        string dia15 { get; set; }
        string dia16 { get; set; }
        string dia17 { get; set; }
        string dia18 { get; set; }
        string dia19 { get; set; }
        string dia20 { get; set; }
        string dia21 { get; set; }
        string dia22 { get; set; }
        string dia23 { get; set; }
        string dia24 { get; set; }
        string dia25 { get; set; }
        string dia26 { get; set; }
        string dia27 { get; set; }
        string dia28 { get; set; }
        string dia29 { get; set; }
        string dia30 { get; set; }
        string dia31 { get; set; }


        public string Dia1
        {
            get
            {
                return dia1;
            }
            set
            {
                dia1 = value;
            }
        }

        public string Dia2
        {
            get
            {
                return dia2;
            }
            set
            {
                dia2 = value;
            }
        }
        public string Dia3
        {
            get
            {
                return dia3;
            }
            set
            {
                dia3 = value;
            }
        }
        public string Dia4
        {
            get
            {
                return dia4;
            }
            set
            {
                dia4 = value;
            }
        }
        public string Dia5
        {
            get
            {
                return dia5;
            }
            set
            {
                dia5 = value;
            }
        }
        public string Dia6
        {
            get
            {
                return dia6;
            }
            set
            {
                dia6 = value;
            }
        }
        public string Dia7
        {
            get
            {
                return dia7;
            }
            set
            {
                dia7 = value;
            }
        }
        public string Dia8
        {
            get
            {
                return dia8;
            }
            set
            {
                dia8 = value;
            }
        }
        public string Dia9
        {
            get
            {
                return dia9;
            }
            set
            {
                dia9 = value;
            }
        }
        public string Dia10
        {
            get
            {
                return dia10;
            }
            set
            {
                dia10 = value;
            }
        }
        public string Dia11
        {
            get
            {
                return dia11;
            }
            set
            {
                dia11 = value;
            }
        }
        public string Dia12
        {
            get
            {
                return dia12;
            }
            set
            {
                dia12 = value;
            }
        }
        public string Dia13
        {
            get
            {
                return dia13;
            }
            set
            {
                dia13 = value;
            }
        }
        public string Dia14
        {
            get
            {
                return dia14;
            }
            set
            {
                dia14 = value;
            }
        }
        public string Dia15
        {
            get
            {
                return dia15;
            }
            set
            {
                dia15 = value;
            }
        }
        public string Dia16
        {
            get
            {
                return dia16;
            }
            set
            {
                dia16 = value;
            }
        }
        public string Dia17
        {
            get
            {
                return dia17;
            }
            set
            {
                dia17 = value;
            }
        }
        public string Dia18
        {
            get
            {
                return dia18;
            }
            set
            {
                dia18 = value;
            }
        }
        public string Dia19
        {
            get
            {
                return dia19;
            }
            set
            {
                dia19 = value;
            }
        }
        public string Dia20
        {
            get
            {
                return dia20;
            }
            set
            {
                dia20 = value;
            }
        }
        public string Dia21
        {
            get
            {
                return dia21;
            }
            set
            {
                dia21 = value;
            }
        }
        public string Dia22
        {
            get
            {
                return dia22;
            }
            set
            {
                dia22 = value;
            }
        }
        public string Dia23
        {
            get
            {
                return dia23;
            }
            set
            {
                dia23 = value;
            }
        }
        public string Dia24
        {
            get
            {
                return dia24;
            }
            set
            {
                dia24 = value;
            }
        }
        public string Dia25
        {
            get
            {
                return dia25;
            }
            set
            {
                dia25 = value;
            }
        }
        public string Dia26
        {
            get
            {
                return dia26;
            }
            set
            {
                dia26 = value;
            }
        }
        public string Dia27
        {
            get
            {
                return dia27;
            }
            set
            {
                dia27 = value;
            }
        }
        public string Dia28
        {
            get
            {
                return dia28;
            }
            set
            {
                dia28 = value;
            }
        }
        public string Dia29
        {
            get
            {
                return dia29;
            }
            set
            {
                dia29 = value;
            }
        }
        public string Dia30
        {
            get
            {
                return dia30;
            }
            set
            {
                dia30 = value;
            }
        }
        public string Dia31
        {
            get
            {
                return dia31;
            }
            set
            {
                dia31 = value;
            }
        }


        public InformePlanificacionComentariosDias(DateTime primerDiaMes, List<DiaFeriado> ListaDiasFeriados)
        {
            dia1 = "";
            dia2 = "";
            dia3 = "";
            dia4 = "";
            dia5 = "";
            dia6 = "";
            dia7 = "";
            dia8 = "";
            dia9 = "";
            dia10 = "";
            dia11 = "";
            dia12 = "";
            dia13 = "";
            dia14 = "";
            dia15 = "";
            dia16 = "";
            dia17 = "";
            dia18 = "";
            dia19 = "";
            dia20 = "";
            dia21 = "";
            dia22 = "";
            dia23 = "";
            dia24 = "";
            dia25 = "";
            dia26 = "";
            dia27 = "";
            dia28 = "";
            dia29 = "";
            dia30 = "";
            dia31 = "";

            
            switch(primerDiaMes.DayOfWeek)
            {
                case DayOfWeek.Sunday:
                    dia1 = "Domingo";
                    dia7 = "Sábado";
                    dia8 = "Domingo";
                    dia14 = "Sábado";
                    dia15 = "Domingo";
                    dia21 = "Sábado";
                    dia22 = "Domingo";
                    dia28 = "Sábado";
                    if (primerDiaMes.Month != 2)
                        dia29 = "Domingo";
                    else
                    {
                        if (DateTime.IsLeapYear(primerDiaMes.Year))
                            dia29 = "Domingo";

                    }
                    break;

                case DayOfWeek.Monday:
                    dia6 = "Sábado";
                    dia7 = "Domingo";
                    dia13 = "Sábado";
                    dia14 = "Domingo";
                    dia20 = "Sábado";
                    dia21 = "Domingo";
                    dia27 = "Sábado";
                    dia28 = "Domingo";
                    break;

                case DayOfWeek.Tuesday:
                    dia5 = "Sábado";
                    dia6 = "Domingo";
                    dia12 = "Sábado";
                    dia13 = "Domingo";
                    dia19 = "Sábado";
                    dia20 = "Domingo";
                    dia26 = "Sábado";
                    dia27 = "Domingo";
                    break;

                case DayOfWeek.Wednesday:
                    dia4 = "Sábado";
                    dia5 = "Domingo";
                    dia11 = "Sábado";
                    dia12 = "Domingo";
                    dia18 = "Sábado";
                    dia19 = "Domingo";
                    dia25 = "Sábado";
                    dia26 = "Domingo";
                    break;

                case DayOfWeek.Thursday:
                    dia3 = "Sábado";
                    dia4= "Domingo";
                    dia10 = "Sábado";
                    dia11 = "Domingo";
                    dia17 = "Sábado";
                    dia18 = "Domingo";
                    dia24 = "Sábado";
                    dia25 = "Domingo";

                    if (primerDiaMes.Month == 1 || primerDiaMes.Month == 3 || primerDiaMes.Month == 5 || primerDiaMes.Month == 7 || primerDiaMes.Month == 8 || primerDiaMes.Month == 10 || primerDiaMes.Month == 12)
                        dia31 = "Sábado";
                    break;

                case DayOfWeek.Friday:
                    dia2 = "Sábado";
                    dia3 = "Domingo";
                    dia9 = "Sábado";
                    dia10 = "Domingo";
                    dia16 = "Sábado";
                    dia17 = "Domingo";
                    dia23 = "Sábado";
                    dia24 = "Domingo";
                    if (primerDiaMes.Month != 2)
                    {
                        dia30 = "Sábado";

                        if (primerDiaMes.Month == 1 || primerDiaMes.Month == 3 || primerDiaMes.Month == 5 || primerDiaMes.Month == 7 || primerDiaMes.Month == 8 || primerDiaMes.Month == 10 || primerDiaMes.Month == 12)
                        {
                            dia31 = "Domingo";
                        }
                    }
                        break;

                case DayOfWeek.Saturday:
                        dia1 = "Sábado";
                        dia2 = "Domingo";
                        dia8 = "Sábado";
                        dia9 = "Domingo";
                        dia15 = "Sábado";
                        dia16 = "Domingo";
                        dia22 = "Sábado";
                        dia23 = "Domingo";
                        if (primerDiaMes.Month != 2)
                        {
                            dia29 = "Sábado";
                            dia30 = "Domingo";
                        }
                        break;
            }




            if (ListaDiasFeriados.Count > 0)
            {

                foreach (var item in ListaDiasFeriados)
                {

                    if (item.FechaFeriado.Day == 1)
                    {
                        dia1 = dia1 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 2)
                    {
                        dia2 = dia2 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 3)
                    {
                        dia3 = dia3 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 4)
                    {
                        dia4 = dia4 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 5)
                    {
                        dia5 = dia5 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 6)
                    {
                        dia6 = dia6 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }


                    if (item.FechaFeriado.Day == 7)
                    {
                        dia7 = dia7 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 8)
                    {
                        dia8 = dia8 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 9)
                    {
                        dia9 = dia9 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 10)
                    {
                        dia10 = dia10 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 11)
                    {
                        dia11 = dia11 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 12)
                    {
                        dia12 = dia12 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 13)
                    {
                        dia13 = dia13 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 14)
                    {
                        dia14 = dia14 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 15)
                    {
                        dia15 = dia15 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 16)
                    {
                        dia16 = dia16 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 17)
                    {
                        dia17 = dia17 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 18)
                    {
                        dia18 = dia18 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 19)
                    {
                        dia19 = dia19 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 20)
                    {
                        dia20 = dia20 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 21)
                    {
                        dia21 = dia21 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 22)
                    {
                        dia22 = dia22 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 23)
                    {
                        dia23 = dia23 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 24)
                    {
                        dia24 = dia24 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 25)
                    {
                        dia25 = dia25 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 26)
                    {
                        dia26 = dia26 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 27)
                    {
                        dia27 = dia27 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 28)
                    {
                        dia28 = dia28 + " Día Feriado: " + item.DescripcionFeriado;
                        continue;
                    }

                    if (item.FechaFeriado.Day == 29)
                    {
                        if (primerDiaMes.Month != 2)
                        {
                            dia29 = dia29 + " Día Feriado: " + item.DescripcionFeriado;
                            continue;
                        }
                        else
                        {
                            if (DateTime.IsLeapYear(primerDiaMes.Year))
                            {
                                dia29 = dia29 + " Día Feriado: " + item.DescripcionFeriado;
                                continue;

                            }
                        }
                    }

                    if (item.FechaFeriado.Day == 30)
                    {
                        if (primerDiaMes.Month != 2)
                        {
                            dia30 = dia30 + " Día Feriado: " + item.DescripcionFeriado;
                            continue;
                        }
                    }

                    if (item.FechaFeriado.Day == 31)
                    {
                        if (primerDiaMes.Month != 2)
                        {
                            dia31 = dia31 + " Día Feriado: " + item.DescripcionFeriado;
                            continue;
                        }
                    }


                }


            }










        }



        



    }
}
